//  @ Project : GagalPanen
//  @ File Name : fieldconstants.cpp
//  @ Date : 3/9/2011
//  @ Author : Irvan
//
//

#include "fieldconstants.hpp"

const int FieldConstants::kRowCount = 6;
const int FieldConstants::kColumnCount = 11;

const std::string FieldConstants::kMap[] = {
  "XXXXXXXXXXX",
  "X.........X",
  "X.OO......X",
  "X.OO......X",
  "X.........X",
  "XXXXXXXXXXX"};

const std::string FieldConstants::kDropBoxViewRep = "DB";

const int FieldConstants::kDropBoxX[] = {
  5};

const int FieldConstants::kDropBoxY[] = {
  4};

int FieldConstants::getRowCount() {
  return kRowCount;
}

int FieldConstants::getColumnCount() {
  return kColumnCount;
}

std::vector<std::string> FieldConstants::getMap() {
  std::vector<std::string> return_map(FieldConstants::getRowCount(),
      std::string(FieldConstants::getColumnCount(),' '));
  for (int i = 0; i < FieldConstants::getRowCount(); ++i) {
    for (int j = 0;j < FieldConstants::getColumnCount(); ++j) {
      return_map[i][j] = kMap[i][j];
    }
  }
  return return_map;
}

int FieldConstants::getDropBoxesCount() {
  return kDropBoxCount;
}
int FieldConstants::getDropBoxXCoordinate(int drop_box_id) {
  return kDropBoxX[drop_box_id];
}
int FieldConstants::getDropBoxYCoordinate(int drop_box_id) {
  return kDropBoxY[drop_box_id];
}

std::string FieldConstants::getDropBoxViewRep() {
  return kDropBoxViewRep;
}

int FieldConstants::getTeleportXFromHouse() {
  return kTeleportXFromHouse;
}
int FieldConstants::getTeleportYFromHouse() {
  return kTeleportYFromHouse;
}

int FieldConstants::getTeleportXFromShop() {
  return kTeleportXFromShop;
}
int FieldConstants::getTeleportYFromShop() {
  return kTeleportYFromShop;
}
